#ifndef UNEXISTINGADDRESSEXCEPTION_H_
#define UNEXISTINGADDRESSEXCEPTION_H_

#include <string>
#include "util/StringUtils.h"
#include "util/exceptions/Exception.h"

/*
 * Excepcion que indica que se quiere trabajar con un elemento
 * duplicado.
 */
class UnexistingAddressException: public util::Exception {
public:

	/*
	 * Constructor. Recibe como parametro el mensaje que
	 * describe el error.
	 */
	UnexistingAddressException(std::string mensaje = "Direccion invalida") : util::Exception(mensaje) { }


	/*
	 * Constructor. Recibe como parametro el nombre de la calle y la altura inexistente
	 */
	UnexistingAddressException(std::string roadName, int roadHeight) :
		util::Exception("No existe la altura: " + util::intToString(roadHeight) + " para la calle " + roadName) {}

	/*
	 * Destructor.
	 */
	virtual ~UnexistingAddressException() {}
};

#endif /* UNEXISTINGADDRESSEXCEPTION_H_ */
